The Internet Protocol (IP) has enabled connectionless datagram service in a worldwide information network, the Internet. By means of said protocol the network is able to route messages to a correct destination address. Routing is performed on the basis of an IP network address and routing tables. The IP protocol is connectionless and does not provide reliable transfer which is assigned to other transmission protocols, such as Transmission Control Protocol (TCP). Each terminal connected to the World Wide Web has a specific IP address. Traffic of IP data packets in the telecommunication networks based on the Internet Protocol continues to grow. As a result of the growth, the communication networks continue to expand and the size of the network may become too large. The expanding network causes problems that appear as reducing data transmission rate and unreliable delivery of transmitted data. Typically, the growth has been restricted by dividing an excessively large network into smaller sections, i.e. subnetworks, and reconnecting said subnetworks to one another. To achieve this, a bridge is used between the networks, and simultaneously said bridge serves as a router for data flow. There is a slight difference, however, between a bridge and a router. The bridge is a data link layer operation and interconnects two networks of the same type by using physical addresses. The routing is a network layer operation which interconnects two or more networks of different types by using IP addresses. In addition to convey traffic between local area networks, the task of the router is also, in general, to serve as a gateway means between a local and an external router network.
Data flow consists of data packet sequences that are treated in an equal manner by routers between the source and destination addresses. A practical example of data flow transmission is, for instance, transmission of a data file over the network between two different computers. Data transmission is implemented by the Transmission Control Protocol (TCP), which divides the file into IP packets and sends them one at a time to the network. The packets pass via a plurality of routers and each router performs routing operations on each packet separately. The routers forward the packets to a next router without ever knowing whether the packet concerned reached its destination or not.
Currently, more and more information is transmitted on the Internet, particularly in the form of Internet calls and video data. In the near future, there will be a need for routers that are capable of transmitting a continuously increasing amount of information from a source address to a destination address as quickly and reliably as possible. One suggested solution to the problem is, for instance, to deconcentrate the router decision making between several processors. However, this will not solve the problem that each IP packet has to be routed individually. Another solution is to use IP switching which comprises a router and an ATM switch. An IP switch is able to route data packets in the same manner as ordinary routers but it differs therefrom in that it is able to perform data flow identification and switch the packets belonging to a given flow to pass via an ATM connection. The IP switch always requires other IP switches for being able to switch ATM connections, and in addition, the network must comprise a considerable number of IP switches in order for them to be actually useful. The identification and control of the flow are performed on the basis of the IP address of the sender or the receiver, for instance, whereby all packets belonging to the identified flow are directed via a given route to the address of the receiver.
In router networks the routers form nodes through which data packet transmission takes place. The data packets are conveyed through a router in two different ways. If a router receives a packet addressed to a next router, i.e. to a second router having a direct connection to said router, it allows the packet through without interfering with the routing thereof in any way. If a router receives a packet addressed to a receiver that has no direct connection to said router, the router has to solve the routing problem so as to define to which router the packet should be sent next in order for the packet to be sent to a correct address. The routers transmit datagrams towards a destination by using routing tables which are maintained by means of specific routing protocols. The routers exchange data on possible routes by means of the routing protocol and at the same time the routers are informed of the routing topology of the network. The topology information is collected in a routing table which contains information on possible destination addresses and how to reach them. The contents of the table depend on the routing algorithm used. In general, the routes are predetermined, and consequently each router knows in advance the next default router whereto the received packet will be transmitted. The predetermined routing leads all traffic, large and small packets alike, to pass along the same route in the network. This results in that certain routes are congested, whereas other routes have less traffic than their capacity allows.
FIG. 1 shows, by way of example, a typical network structure which comprises a sender 1, routers 2 to 6 and a receiver 7. Between the starting point and the destination there are generally a plurality of routers as appears in FIG. 1, and consequently data packets have a plurality of alternative routes from the sender 1 to the receiver 7. The router 2 can route the packet addressed to the destination 7 either via the router 3 or the router 5. The data packet routing selection is carried out in the router 2 on the basis of a routing table and a routing algorithm. For data transmission, the routing algorithm finds a route in the routing table, via which route it is possible to proceed in the network from the source address to the destination address. The routers form a default route between the sender 1 and the receiver 7, which consists of default routes between each router. Let us assume that said default route passes from the sender 1 via the router 2 to the router 5, and further, via the routers 6 and 4 to the receiver 7. If the formed default route does not work any longer at any one router because of increased traffic or some such reason, said router may make a change in the route and forward the data packets to another router. This change made on a local level by an individual router may affect other routers such that the traffic increases excessively for some routers while others operate at a lower than maximum capacity. This results in that the network is not routed optimally as a whole but each router tends to change its own routing to a more optimal direction seen from its own viewpoint. Thus, the network routing is not optimized on a more global level, which results in uneven loading in different sections of the network as the data traffic passes only on certain routes.